package nsu.edu.zsq.bean;

import java.util.Date;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Pattern;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.ToString;

/**
 * Description: 学生的班级信息表
 */
@ToString
public class SchClass {
    /**
     * 班级id id
     */
    @Excel(name = "班级ID", orderNum = "4")
    private Integer id;

    /**
     * 班级名称 class_name
     */
    @Excel(name = "班级名称", orderNum = "0")
    @Pattern(regexp="^[\\S]{2,15}$", message="班级名称2-15个字符，且不能出现空格")
    private String className;

    /**
     * 班级人数 stu_number,默认0
     */
    private Integer stuNumber;

    /**
     * 所属专业的专业代码 major_no
     */
    @Excel(name = "专业代码", orderNum = "1")
    private String majorNo;

    /**
     * 所属学校组织的组织id（院系） org_id
     */
    @Excel(name = "院系ID", orderNum = "2")
    private Integer orgId;

    /**
     * 辅导员的编号 teacher_no
     */
    private String teacherNo;

    /**
     * 辅导员名称 teacher_name
     */
    private String teacherName;

    /**
     * 排序号，默认1，降序排 sort
     */
    @Excel(name = "排序号", orderNum = "3")
    @Min(value=1, message="排序号，1-5位数字")
    @Max(value=99999, message="排序号，1-5位数字")
    private Integer sort;

    /**
     * 操作者 operator
     */
    private String operator;

    /**
     * 操作时间 operator_time
     */
    private Date operatorTime;

    /**
     * Get 班级id
     * @return id 班级id
     */
    public Integer getId() {
        return id;
    }

    /**
     * Set 班级id
     * @param id 班级id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * Get 班级名称
     * @return class_name 班级名称
     */
    public String getClassName() {
        return className;
    }

    /**
     * Set 班级名称
     * @param className 班级名称
     */
    public void setClassName(String className) {
        this.className = className == null ? null : className.trim();
    }

    /**
     * Get 班级人数
     * @return stu_number 班级人数
     */
    public Integer getStuNumber() {
        return stuNumber;
    }

    /**
     * Set 班级人数
     * @param stuNumber 班级人数
     */
    public void setStuNumber(Integer stuNumber) {
        this.stuNumber = stuNumber;
    }

    /**
     * Get 所属专业的专业代码
     * @return major_no 所属专业的专业代码
     */
    public String getMajorNo() {
        return majorNo;
    }

    /**
     * Set 所属专业的专业代码
     * @param majorNo 所属专业的专业代码
     */
    public void setMajorNo(String majorNo) {
        this.majorNo = majorNo == null ? null : majorNo.trim();
    }

    /**
     * Get 所属学校组织的组织id（院系）
     * @return org_id 所属学校组织的组织id（院系）
     */
    public Integer getOrgId() {
        return orgId;
    }

    /**
     * Set 所属学校组织的组织id（院系）
     * @param orgId 所属学校组织的组织id（院系）
     */
    public void setOrgId(Integer orgId) {
        this.orgId = orgId;
    }

    /**
     * Get 辅导员的编号
     * @return teacher_no 辅导员的编号
     */
    public String getTeacherNo() {
        return teacherNo;
    }

    /**
     * Set 辅导员的编号
     * @param teacherNo 辅导员的编号
     */
    public void setTeacherNo(String teacherNo) {
        this.teacherNo = teacherNo == null ? null : teacherNo.trim();
    }

    /**
     * Get 辅导员名称
     * @return teacher_name 辅导员名称
     */
    public String getTeacherName() {
        return teacherName;
    }

    /**
     * Set 辅导员名称
     * @param teacherName 辅导员名称
     */
    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName == null ? null : teacherName.trim();
    }

    /**
     * Get 排序号，默认1，降序排
     * @return sort 排序号，默认1，降序排
     */
    public Integer getSort() {
        return sort;
    }

    /**
     * Set 排序号，默认1，降序排
     * @param sort 排序号，默认1，降序排
     */
    public void setSort(Integer sort) {
        this.sort = sort;
    }

    /**
     * Get 操作者
     * @return operator 操作者
     */
    public String getOperator() {
        return operator;
    }

    /**
     * Set 操作者
     * @param operator 操作者
     */
    public void setOperator(String operator) {
        this.operator = operator == null ? null : operator.trim();
    }

    /**
     * Get 操作时间
     * @return operator_time 操作时间
     */
    public Date getOperatorTime() {
        return operatorTime;
    }

    /**
     * Set 操作时间
     * @param operatorTime 操作时间
     */
    public void setOperatorTime(Date operatorTime) {
        this.operatorTime = operatorTime;
    }
}